Method of and apparatus for forming outline character

ABSTRACT

A method of and an apparatus for forming an outline character by making a character, numeral, mark, or the like black at the periphery thereof and white at the inner portions thereof. When the original character data exists at at least one upper or lower end in a dot display space, the character data at the end is removed and shortened. The shortened character dot pattern is periphally expanded by at least one dot, and the expanded character is removed to form white space within the shortened character. In another aspect, the character dot pattern is periphally expanded by at least one dot. When the original character exists at at least one upper or lower end in the dot display space, the expanded character is removed to form white spaces within the original character dot pattern except for an upper or lower end in the dot display space. Thus, if the original character dot pattern exists at at least one upper or lower end, a character completely enclosed within a black periphery can be obtained.

This division of application Ser. No. 448,434 filed Dec. 11, 1989;allowed Aug. 27, 1991, now U.S. Pat. No. 5,999,230.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method of and an apparatus forforming an outline character by processing ordinary characters,numerals, marks, etc. (hereinafter referred to as character(s)) in adisplay apparatus, e.g. printer, cathode ray tube, or the like.

2. Description of the Related Art

Generally, an ordinary form of characters is used in the displayapparatus, but when the characters are modified, sometimes an outlinecharacter, i.e., a character from which the inner portions have beenremoved, to be displayed as a white space, is used. These outlinecharacters are infrequently used, and therefore the preparation ofspecific character fonts for outline characters is disadvantageous fromthe economical viewpoint. Accordingly, when necessary, outlinecharacters are formed by processing the fonts of ordinary charactersmemorized in a character generator.

As mentioned above, an outline character is formed by removing the innerportions thereof, to be displayed as a white space, and comprisesperipheral portions encompassing the white spaces, and therefore, theoutline character may be called an "encompassed" character.

In a conventional method of forming an outline character, first thecharacter data is read from a character data storage means (i.e.character generator) storing the character data expressed as a dotpattern, the dot pattern of the character is then expanded peripherallyby one dot, i.e., the character is widened, and subsequently, thewidened character is whitened in conformance with the original characterpattern.

In the conventional method of forming an outline character, however,since the widened character is removed, by the original character, whichis not changed, the upper or lower periphery of the character is whiteand a closed or encompassed periphery thereof can not be obtained, ifthe original character reaches the upper or lower end of the dot displayspace as an underline or the like.

The following publication is related to this invention;

Japanese Unexamined Patent Publication (Kokai) No. 60-83851.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide a methodof and an apparatus for forming an outline character, wherein aperiphery of the character is completely closed and a form of thecharacter can be expressed more faithfully, even if the periphery of theoriginal character reaches the upper or lower end of the dot displayspace.

To accomplish the above object, there is provided a method of forming anoutline character comprising the steps of reading original characterdata from a character data storage means storing character dataexpressed by a dot pattern; shortening the original character data byeliminating an upper end or lower end in a dot display space of theoriginal character data when the original character data exists at atleast one end of the display space; expanding the dot pattern of theshortened original character by at least one dot toward the peripherythereof to widen the shortened original character; and removing theshortened character, to be displayed as a white space, from the widenedcharacter.

Further, there is provided another method of forming an outlinecharacter comprising the steps of reading original character data from acharacter data storage means storing character data expressed by a dotpattern; expanding the dot pattern of the read original character databy at least one dot toward the periphery thereof to widen the readoriginal character; and removing the dot pattern of the originalcharacter data except for an upper or lower end in a dot display spaceto be made white from the widened character, when the original characterdata exists at least one upper or lower end of the display space.

Further, in the present invention, there is provided an apparatus forforming an outline character comprising a main control means including amicroprocessor, a code buffer storing character codes from a hostmachine through an interface, and a character generator storingcharacter font data expressing standard characters by a dot pattern andoutputting character data upon receipt of an output of the code buffer,under the control of the microprocessor, a display means including aprinting control means receiving the output of the main control meansand a printing means for printing in accordance with an output signalfrom the printing control means, a modify means for an outline characterfor reading the font of standard characters from the character generatorand forming the outline character, a widened character storage meansconnected to the modify means, and a shortened character storage meansconnected to the modify means; the modify means receiving a command tooutput an outline character from the main control means and reading thestandard character from the character generator, the standard characterbeing shortened when dot pattern of the standard character exists at atleast one upper or lower end in a dot display space, the shortenedcharacter being stored in the shortened character storage means, thestored data being expanded, the expanded data being stored in thewidened character storage means, and the modify means obtaining theoutline character by processing data from the widened character storagemeans and the shortened character storage means.

Further, there is provided another apparatus for forming an outlinecharacter comprising a main control means including a microprocessor, acode buffer storing character code from a host machine through aninterface, and a character generator storing character font dataexpressing standard characters by a dot pattern and outputting characterdata upon receipt of an output of the code buffer, under the control ofthe microprocessor, a display means including a printing control meansreceiving the output of the main control means and a printing means forprinting in accordance with an output signal from the printing controlmeans, a modify means for an outline character for reading the font ofstandard characters from the character generator and forming the outlinecharacter, and a widened character storage means connected to the modifymeans; the modify means receiving a command to output an outlinecharacter from the main control means and reading the standard characterfrom the character generator, the standard character being expanded andstored in the widened character storage means, and the expandedcharacter being processed with modified original character data toobtain the outline character.

Other features and advantages of the invention will be apparent from thefollowing description given with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of outline characters formed according to thepresent invention;

FIG. 2 is a flowchart summarizing the processing steps of a methodaccording to a first embodiment of this invention;

FIG. 3 is a flowchart summarizing the processing steps of a methodaccording to a second embodiment of this invention;

FIG. 4 shows a block diagram of an apparatus for executing a methodaccording to the first embodiment;

FIG. 5 is a flowchart of a processing carried out in a main control unitof the apparatus of FIG. 4;

FIGS. 6A, 6B and 6C are flowcharts of the processing for obtaining anoutline character according to the first embodiment;

FIGS. 7A, 7B, 7C, 7D, 7E, 7F, 7G, and 7H are diagrams explaining theprocessing steps for obtaining the outline characters according to thefirst embodiment;

FIG. 8 is a block diagram of an apparatus for executing a methodaccording to the second embodiment;

FIGS. 9A and 9B are flowcharts of the processing for obtaining anoutline character according to the second embodiment; and

FIGS. 10A, 10B, 10C, 10D, 10E, 10F, and 10G are diagrams explaining theprocessing steps for obtaining the outline characters according to thesecond embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention are explained below with referenceto the drawings.

In the embodiments, the invention is applied, for example, to a printerin a computer, word processor, or the like, but this invention is notlimited to these applications and can be applied to a CRT display deviceor other various display devices.

Further, in the following embodiments, although one character isexpressed by a display space of 24×24 dots, this invention is notlimited to the above condition and any display space can be applied.

First, in FIG. 1, an example of outline characters (lower portion) isshown in comparison to the standard characters (upper portion).

FIG. 2 is a flowchart summarizing a first embodiment of the presentinvention, and FIG. 3 is a flowchart summarizing a second embodimentthereof.

FIG. 4 is a block diagram showing a constitution of an apparatus forexecuting the method of the first embodiment. As shown in the figure,the apparatus comprises a main control unit 1 composed of amicroprocessor (MPU) 1a, a code buffer 1b storing character codes (e.g.,by one page) input from a host machine, and a character generator (CG)1c (character data storage means) storing character font data expressedby dot patterns of standard characters. The character generator 1coutputs character font data corresponding to an input character code,and the output character is in the form of a black standard character.An interface 2 outputs a signal to the host machine from the maincontrol unit 1 or receives the input of a signal from the host machine.

A display means 3 displays the characters and comprises a printingcontrol unit 3a and a printing device 3b for printing the charactersupon receipt of a signal output from the printing control unit 3a. Aline buffer (LB) 3c storing one line of the font data is provided in theprinting control unit 3a.

A space control unit 4a controls a movement in the printing direction,and a space operation unit 4b is operated by a signal output from thespace control unit 4a. A paragraph start control unit 5a controls astart of a new paragraph in the printing, and a paragraph startoperation unit 5b starts a new paragraph upon receipt of a signal outputfrom the paragraph start control unit 5a.

A modify unit 6 for the outline character reads the font of the standardcharacters from the character generator 1c and forms an outlinecharacter corresponding to the standard character. The modify unit isconnected to a widened character storage device (RAM) 7a and to ashortened character storage device (RAM) 7b, necessary in a processingstep of forming the outline character.

FIG. 5 is a flowchart of the processing carried out in the main controlunit 1, wherein S21 to S29 are processing steps.

First, at S21, it is determined whether or not an interruption from thehost machine has occurred. If an interruption has occurred, apredetermined receiving processing is executed at S22, i.e., an inputcode is stored in the code buffer 1b and other processes are carriedout, and the processing then returns to S21.

If an interruption has not occurred at S21, one code is read from thecode buffer 1b at S23, and in S24 it is determined whether or not thecode is a character code. If the code is not a character code, since thecode is a control code, it is determined whether the code is aninstruction to form an outline character, at S25. If the code is not anoutline character forming instruction, the process goes to thepredetermined control routine for processing another control codeinstruction. If the code is an outline character control instruction, aflag is set (i.e., F=1) and the process returns to S21.

If the code read at S23 is determined to be a character code at S24. Theflag state (F=1) is determined at S27. If F=1, the process goes to anoutline character forming routine in FIG. 6A. At S27, if F is not "1",character data corresponding to the character code is read from thecharacter generator 1C at S28, the character data is sent to the linebuffer 3c at S29, and the process returns to S21.

FIGS. 6A to 6C are processing flowcharts, including steps S32 to S37,steps S41 to S45, and step S51, of the forming of an outline characterin the modify unit 6 according to the first embodiment of thisinvention. The processing is executed when F=1 at S27 of FIG. 5. In thefollowing explanation, dots expressing characters are shown by a blackcircle, and these dots are handled as "1" during the operation. A dotnot expressing the character is handled as "0".

At this stage, first a counter is set to "1", i.e., i=1 at S31. Letter ishows a column number. The dot character data from the first to the 16thranks, which is defined as a first block, in an ith column (in initial,start from first column) is read from the character generator 1c at S32,the dot data of the and the second ranks are logically added, and theresult becomes the second rank dot data: The first rank dot data arecleared. As a result, as shown for example in FIG. 7A, when the dot ofthe character pattern exists in either the first rank or the second rankof the ith column, the second rank dot becomes the dot of the characterpattern and the first rank dot is cleared. Then, at S33, the dot data ofthe first block are stored in the shortened character storage device(RAM) 7b.

Next, at S34, the dot character data from the 17th to the 24th ranks,which is defined as a second block, in ith column are read from thecharacter generator 1c, the dot data of the 23rd and 24th ranks arelogically added, and the result becomes the 23rd dot data: The 24th rankdot data is cleared. Thus, for example, as shown in FIG. 7B, if the dotof character pattern of either the 23rd or 24th rank of the ith columnexists, the 23rd rank dot becomes the dot of the character pattern, andthe 24th rank dot is cleared. Then, at S35, the second block dot data isstored in the shortened character storage unit 7b.

Accordingly, in the ith column, when the character data has the dot(s)of first and/or 24th ranks, i.e., at upper end and/or lower end of thedisplay space, the end dot is removed from the character data. Thus, atS36, it is determined whether the value of the counter for i is 24, if idoes not equal 24, i is incremented by 1 (i.e., i=i+1) and the processesafter S32 is repeated and the column is incremented by one until i=24.

In S36, if i=24, all of the processes in the display space of 24×24 dotsare completed. That is, if the character data exists at the upper and/orlower end(s) of the dot display space, the end dots (first or 24th rankdot) are removed from the character data, and as shown by arrows in FIG.7C, the characters are shortened.

Accordingly at S36, when i=24 first the character data in the shortenedcharacter storage device 7b is stored in the widened character storagedevice 7a at S41, then at S42, the character data in the widenedcharacter storage unit 7a is read, for example, the characters areshifted to the left by one dot, the shifted data is added logically tothe data in the character storage device 7a, and the results stored inthe widened character storage device 7a. Then, at S43, as in the processstep at S42, for example, the read characters are shifted to the rightby one bit, and the shifted data is added logically to the data in thewidened character storage device 7a, and the results stored in thewidened character storage device 7a. Thus, for example, the pattern inFIG. 7D is expanded to the right and left as shown in FIG. 7E.

Subsequently, at S44 and S45, as in the above process and as shown inFIGS. 7E and 7F, the character in the widened character storage device7a is expanded step by step in the upper and lower directions, and as aresult, the character dot pattern is periphally expanded one dot by onedot, and the widened character is formed and stored in the widenedcharacter storage device 7a.

Finally, at S51, the shortened character data is read from the shortenedcharacter storage device 7b, all of the dot data is inverted, and theinverted data is multiplied logically with the data of the widenedcharacter storage device 7a. Thus the widened character is removed toform white spaces at the X mark portions (shortened character portions)in FIG. 7G, and as shown in FIG. 7H, the outline character in which theupper and/or lower end(s) (first and 24th ranks dot) are not white andwhich has a closed black periphery is formed. After this processing, theprocessing returns to S29 in FIG. 5 and the data is output to the linebuffer 3c.

FIG. 8 shows a block diagram of an apparatus for executing a methodaccording to a second embodiment of the present invention. The apparatusis the same as the apparatus of the first embodiment, except that theshortened character storage device 7b is omitted, and therefore, anexplanation thereof is abbreviated. Also, the process in the maincontrol unit 1 is the same as that of FIG. 5, and thus the explanationthereof is abbreviated accordingly.

FIGS. 9A and 9B are flowcharts, including steps S61 to S65 and steps S71to S76, of the processing of the method of the second embodiment, whichare executed when F=1 at S27 of FIG. 5.

First, at S61, character data is read from a character generator 1c andstored in a widened character storage device 7a. Then, at S62, thecharacter data in the widened character storage device 7a is read andthe read character data shifted to the left, e.g., by one dot, theshifted data is added logically with the data in the widened characterstorage device 7a, and the results stored in the widened characterstorage device 7a. Thus, for example, the pattern shown in FIG. 10A iswidened as shown in FIG. 10B. At S63, as at S62, the data read from thewidened character storage device 7a is shifted to the right, e.g., byone dot, and the shifted data is added logically with the data in thewidened character storage device 7a, and the results stored in thewidened character storage device 7a. As a result, the pattern shown inFIG. 10B is widened as shown in FIG. 10C.

Subsequently, at S64 and S65, as in FIGS. 10C and 10D, the characterdata is widened in the upper and lower directions, whereby a widenedcharacter, which has been periphally expanded by one bit in the dotpattern thereof, is formed and stored in the widened character storagedevice 7a.

Further, in this embodiment, the dots at the upper and lower ends in thedot display space are expanded until they are outside the space (brokenlines in FIGS. 10C, 10D, 10F, and 10G). The dots expanded until they areoutside the space are shown by white circles in FIG. 10D. The portionsexpanded until they are outside the space are invalid.

Next, at S71, a counter is set to "1" (i.e., i=1), and at S72, the dotdata in the first to 8th ranks, which is defined as a first block, inthe ith column (initially, start from first column) is read from thecharacter generator 1c and inverted. The inverted data is addedlogically with a constant P (FIG. 10E) comprising the first block dots,only the first rank of which is "1" (i.e. black circle), and then thesum of the added dot data is multiplied logically with the correspondingdot data in the widened character storage 7a, and the results stored inthe widened character storage device 7a.

Subsequently, at S73, the dot data of the 9th to 16th ranks which isdefined as a second block in ith column is read from the charactergenerator 1c, the read data is inverted, the inverted data is multipliedlogically with the corresponding dot data in the widened characterstorage 7a, and the results stored in the widened character storagedevice 7a.

Finally, at S74, the dot character data of the 17th to 24th ranks whichis defined as a third block in ith column is read from the charactergenerator 1c and inverted, and the inverted data added logically with aconstant Q (FIG. 10E) comprising dots of the third block, only 24thranks of which is "1" i.e., the block circle. Then the added data ismultiplied logically with the corresponding the third block in ithcolumn data in the widened character storage device 7a, and results arestored in the widened character storage device 7a.

Accordingly, the processing for the forming of the outline character inthe ith column is completed. Here, at S75, it is determined whether thecounter value is 24, and if i is not 24, the i is added with 1 at S76and the process goes to following columns, one by one, and repeats thesteps after S72.

As mentioned above, at S75, when i=24 the processing for all of thecolumns is completed. That is, even if the original character datastored in the character generator 1c exists at the upper or lower end inthe dot display space (first or 24th rank dot), as shown by an X mark inFIG. 10F, the widened character is removed to form a white space withinthe dot pattern of the original character eliminated the upper and lowerends dot, and as shown in FIG. 10G, the outline character is formedwhich is not white at the upper and lower ends and which has a closedblack periphery. Finally, when i=24 at S75, the process returns to S29in FIG. 5, and the data is output to the line buffer 3c.

In the above embodiments, the width of the original character is onedot, but this invention is not limited to a one dot width; namely, thecharacter width may be more than one dot. Further, when the widenedcharacter is formed, the dot pattern may be periphally expanded to morethan one dot.

By using the first embodiment, if the character data read from thecharacter data storage device exists at the upper or lower end of thedot display space, the character data at the ends is eliminated, and ashortened character which does not reach the upper or lower end isobtained. If the shortened character is widened, the widened characterbecomes wider in the upper and lower directions compared with theshortened character in the dot display space.

Accordingly, the above shortened character is removed from the widenedcharacter to form a white space, and then the portions of the characterat the ends of the dot display space are not removed, and thus a blackclosed periphery of the widened character can be displayed.

By using the second embodiment, first the widened character is formed bythe character data read from the data storage device. When the originalcharacter data exists at the upper or lower end in the dot displayspace, the widened character is outside of the dot display space. Inthis case, the widened character is defined within the dot displayspace. Then, the widened character is removed, to form a white space,according to the dot pattern, except for the upper and lower ends of theoriginal character data, thus, the upper and lower ends in the dotdisplay space are not removed, to form a white space, and an outlinecharacter having a closed periphery at the ends thereof can be obtained.

I claim:
 1. A method of forming an outline character comprising thesteps of:reading an original character data from a character datastorage means storing character data expressed by a dot pattern;peripherally expanding the dot pattern of the read original characterdata by at least one dot to widen the read original character; andremoving the dot pattern of the original character data except for dotsin the upper or lower end of a dot display space, from the widenedcharacter to form a white space when the dot pattern of the originalcharacter data stored in the character data storing means exists at atleast one upper or lower end of the display place.
 2. A method as setforth in claim 1, wherein said expanding step comprises steps of:storingcharacter data from a character generator in a widened character storagemeans, shifting the character data from the widened character storagemeans to the left, logically adding the character data from the widenedcharacter storage means with the left shifted data, and storing the sumof the addition in the widened character storage means, shifting thecharacter data from the widened character storage means to the right,logically adding the character data from the widened character storagemeans with the right shifted data, and storing the sum of the additionin the widened character storage means, shifting the character data fromthe widened character storage means in the upper direction of thedisplay space logically adding the character data from the widenedcharacter storage means with the upper shifted data, and storing the sumof the addition in the widened character storage means, and shifting thecharacter data from the widened character storage means in the lowerdirection of the display space, logically adding the character data fromthe widened character storage means with the lower shifted data, andstoring the sum of the addition in the widened character storage means.3. A method as set forth in claim 2, wherein, when said dot displayspace is 24×24 dots, said removing step comprises steps of:inverting afirst block of dot character data including first to 8th ranks in an ithcolumn, logically adding the inverted data with a constant data, onlyfirst rank of which is logically "1", logically multiplying the sum ofthe addition with the character data from the widened character storagemeans in combination with the corresponding data, and storing themultiplied data in the widened character storage means, inverting asecond block of dot character data including 9th to 16th ranks in theith column logically multiplying the inverted data with the characterdata from the widened character storage means in combination with thecorresponding data, and storing the multiplied data in the widenedcharacter storage means, inverting a third block of dot character dataincluding 17th to 24th ranks in the ith column, logically adding theinverted data with a constant data, only a 24th rank of which islogically "1", logically multiplying the sum of the addition with thecharacter data from the widened character storage means in combinationwith the corresponding data, and storing the multiplied data in thewidened character storage means, and repeating the above steps replacingi from first to 24th.
 4. An apparatus for forming an outline charactercomprising:a main control means including a microprocessor, a codebuffer storing character code from a host machine through an interface,and a character generator storing character font data expressingstandard characters by dot patterns and outputting the character dataupon receipt of a signal output by the code buffer under the control ofthe microprocessor; a display means including a printing control meansreceiving the output of the main control means and a printing means forprinting in accordance with a signal output from the printing controlmeans; a modify means for an outline character for reading the font ofstandard characters from the character generator and forming the outlinecharacter by expanding a character selected from said font of standardcharacters; and a widened character storage means connected to themodify means for storing the character expanded by said modify means;said modify means receiving a command to output an outline characterfrom the main control means and reading the standard character from thecharacter generator, the standard character then being read from thecharacter generator and expanded by said modify means in response tosaid command, said modify means then removing the dot pattern of theoriginal character data except for dots in the upper or lower end of adot display space, from the widened character to form a white space whena dot pattern of the standard character data from the charactergenerator exists at at least one upper or lower end of the display spaceand stored in the widened character storage means as the outlinecharacter.